package experto;

import java.util.ArrayList;
import java.util.List;

import model.Alumno;
import model.Universidad;
import persistencia.FachadaPersistencia;
import persistencia.TipoEntidad;
import busqueda.criterio.AtributoAlumno;
import busqueda.criterio.AtributoUniversidad;
import busqueda.criterio.CriterioAlumno;
import busqueda.criterio.CriterioCompuesto;
import busqueda.criterio.CriterioUniversidad;
import busqueda.criterio.TipoOperador;
import dto.UniversidadDTO;

public class ExpertoLogin {
	/**
	 * devuelve todas las universidades
	 * @param 
	 * @return
	 */
	public List<UniversidadDTO> getUniversidades() {
		List<UniversidadDTO> universidadesDTO = new ArrayList<UniversidadDTO>();
		CriterioUniversidad criterioUniversidad = new CriterioUniversidad(AtributoUniversidad.TODOS, TipoOperador.IGUAL, "1");
		CriterioCompuesto criterioCompuesto = new CriterioCompuesto();
		criterioCompuesto.addCriterio(criterioUniversidad);
		List<Universidad> universidades = (List<Universidad>)FachadaPersistencia.getInstance().buscar(TipoEntidad.UNIVERSIDAD,criterioCompuesto);
		if(universidades!=null){
			UniversidadDTO universidadDTO;
			for(Universidad universidad:universidades){
				universidadDTO = new UniversidadDTO();
				universidadDTO.setCodigo(universidad.getCodigo());
				universidadDTO.setNombre(universidad.getNombre());
				universidadesDTO.add(universidadDTO);
			}
		}
		return universidadesDTO;
	}
	/**
	 * login
	 * @param 
	 * @return
	 */
	public boolean login(String legajo,String codUniversidad){
		boolean bandera = false;
		CriterioAlumno criterio = new CriterioAlumno(AtributoAlumno.LEGAJO, TipoOperador.IGUAL, legajo);
		CriterioCompuesto criterioCompuesto = new CriterioCompuesto();
		criterioCompuesto.addCriterio(criterio);
		List<Alumno> alumnos = (List<Alumno>)FachadaPersistencia.getInstance().buscar(TipoEntidad.ALUMNO, criterioCompuesto);
		if( alumnos != null ){
			for(Alumno alumno:alumnos){
				if(alumno.getUniversidad().getCodigo().equalsIgnoreCase(codUniversidad)){
					bandera = true;
					break;
				}
			}
		}
		return bandera;
	}
}
